﻿using System;
using System.Windows;
using SoftSource.MVVMC;

namespace SoftSource.Timecard.ViewModelInterfaces
{
    public interface IMainViewModelConsume : IViewModelConsume
    {
        #region Methods

        Func<UIElement> CreateSummaryView { get; }
        Func<UIElement> CreateManagementView { get; }
        Func<UIElement> CreateTimeEntryListView { get; }
        Func<UIElement> CreateReportListView { get; }

        #endregion Methods
    }
    public interface IMainViewModelService : IViewModelService
    {
        #region Methods

        Func<UIElement> CreateSummaryView { get; set; }
        Func<UIElement> CreateManagementView { get; set; }
        Func<UIElement> CreateTimeEntryListView { get; set; }
        Func<UIElement> CreateReportListView { get; set; }

        #endregion Methods
    }
    public interface IMainViewModel : 
        IViewModel,
        IMainViewModelConsume,
        IMainViewModelService
    {
    }
}